package com.ctshk.rpc.order.scenic.service;


import com.ctshk.common.dto.Result;
import com.ctshk.common.model.PageResponse;
import com.ctshk.common.model.TokenUser;
import com.ctshk.rpc.order.scenic.dto.ScenicOrderDTO;
import com.ctshk.rpc.order.scenic.req.*;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 周億耀
 * @since 2021-06-15
 */
public interface IAirshowOrderService {

    //分销商套票预订下单自动扣费
    Result agentCreatePackageOrder(AirshowOrderCreateReq airshowOrderCreateReq, TokenUser tokenUser,Integer source);

    //分销商套票预订下单（不支付）
    Result agentCreatePackageOrderNotPay(AirshowOrderCreateReq airshowOrderCreateReq, TokenUser tokenUser,Integer source);

    //分销商套票计算价格
    Result agentPackagePrice(AirshowOrderCreateReq airshowOrderCreateReq, TokenUser tokenUser);

    //分销商API门票预订下单并支付
    Result agentCreateAPIOrder(AirshowOrderCreateReq airshowOrderCreateReq, TokenUser tokenUser,Integer source);

    //分销商API门票预订下单（不支付）
    Result agentCreateAPIOrderNotPay(AirshowOrderCreateReq airshowOrderCreateReq, TokenUser tokenUser,Integer source);

    //订单支付出票
    Result payOrder(Long id);

    //分销商API门票计算价格
    Result agentAPIPrice(AirshowOrderAPIPriceReq airshowOrderAPIPriceReq, TokenUser tokenUser);

    //查询分销商订单详情
    Result getOrderById(Long id);

    //代理商申请取消订单
    Result agentCancelOrderById(AirshowOrderCancelReq airshowOrderCancelReq,TokenUser tokenUser);

    //查询代理商订单列表
    Result getAgentOrderListByParams(AirshowOrderListReq airshowOrderListReq, TokenUser tokenUser);

    //查询云平台订单列表
    Result getPlatformOrderListByParams(AirshowOrderListReq airshowOrderListReq, TokenUser tokenUser);

    //云平台申请取消订单
    Result platformCancelOrderById(AirshowOrderCancelReq airshowOrderCancelReq,TokenUser tokenUser);

    //云平台退票申请处理
    Result platformHandleOrderApply(AirshowOrderCancelHandleReq airshowOrderCancelHandleReq);

    //定时调度查询API处理完成的订单
    Result autoCheckAPIOrder();



}
